home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 November: Tool Chest / Dev.CD Nov 98 TC.toast / Sample Code / Networking / JSaver / Source / StringListResource.cp < prev    next >
Encoding:
C/C++ Source or Header  |  1997-06-05  |  795 b   |  45 lines  |  [TEXT/CWIE]

  1. /*
  2.  * StringListResource.cp
  3.  */
  4.  
  5. #include "StringListResource.h"
  6.  
  7. StringListResource::StringListResource(short id) : fStrings(NULL), fCount(0)
  8. {
  9.     fStrings = ::GetResource('STR#', id);
  10.     if (fStrings != NULL) {
  11.         HLockHi(fStrings);
  12.         StringList* strings = *(StringList**)fStrings;
  13.         fCount = strings->count;
  14.         pText = strings->strings;
  15.     }
  16. }
  17.  
  18. StringListResource::~StringListResource()
  19. {
  20.     if (fStrings != NULL) ::ReleaseResource(fStrings);
  21. }
  22.  
  23. StringPtr StringListResource::First()
  24. {
  25.     if (fStrings != NULL) {
  26.         StringList* strings = *(StringList**)fStrings;
  27.         fCount = strings->count;
  28.         pText = strings->strings;
  29.     }
  30.     return Next();
  31. }
  32.  
  33. StringPtr StringListResource::Next()
  34. {
  35.     StringPtr result = NULL;
  36.     
  37.     if (fCount > 0) {
  38.         result = pText;
  39.         pText += (1 + *pText);
  40.         --fCount;
  41.     }
  42.     
  43.     return result;
  44. }
  45.